﻿namespace Common.Contract.Authentication.Record
{
    using System;
    using System.Runtime.Serialization;

    [DataContract]
    public class UserRecord
    {
        [DataMember]
        public Guid ApplicationKey { get; set; }

        [DataMember(IsRequired = true)]
        public string UserName { get; set; }

        [DataMember(IsRequired = true)]
        public string Email { get; set; }

        [DataMember(IsRequired = true)]
        public string Address { get; set; }

        [DataMember(IsRequired = true)]
        public string Gender { get; set; }

        [DataMember(IsRequired = true)]
        public string Password { get; set; }

        [DataMember(IsRequired = false)]
        public string GroupIdentifier { get; set; }

        [DataMember(IsRequired = false)]
        public string GroupName { get; set; }

        [DataMember(IsRequired = false)]
        public string FirstName { get; set; }

        [DataMember(IsRequired = false)]
        public string LastName { get; set; }

        [DataMember(IsRequired = false)]
        public string Mobile { get; set; }

        [DataMember(IsRequired = false)]
        public string ImageUrl { get; set; }

        [DataMember(IsRequired = false)]
        public DateTime CreationDate { get; set; }

        [DataMember(IsRequired = false)]
        public bool Active { get; set; }

        [DataMember(IsRequired = false)]
        public DateTime? Birthday { get; set; }
    }
}
